package cn.edu.nuc.onlinestore.frame;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;

import UtilSever.Util;
import cn.edu.nuc.onlinestore.model.Goods;
import cn.edu.nuc.onlinestore.vo.Result;
import demo.factor.Ifactor.IFactory;

public class AdminUpdate extends JFrame {

	private JPanel contentPane;
	private JTextField goodname;
	private JTextField price;
	private JTextField number;
	private JTextArea message;
	private JFrame store;
	private JTable table;
	private DefaultTableModel model;
	private JFrame adminlogin;
	/**
	 * Launch the application.
	 */
	
	
	
	
	/*public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					AdminUpdate frame = new AdminUpdate();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}*/

	/**
	 * Create the frame.
	 */
	public AdminUpdate(int id) {
		
		setTitle("修改商品");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 405);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel label = new JLabel("商品名称:");
		label.setBounds(23, 57, 66, 15);
		contentPane.add(label);
		
		goodname = new JTextField();
		goodname.setBounds(99, 54, 269, 21);
		contentPane.add(goodname);
		goodname.setColumns(10);
		
		JLabel label_1 = new JLabel("单价:");
		label_1.setBounds(35, 100, 54, 15);
		contentPane.add(label_1);
		
		price = new JTextField();
		price.setBounds(99, 97, 212, 21);
		contentPane.add(price);
		price.setColumns(10);
		
		JLabel label_2 = new JLabel("单位:元");
		label_2.setBounds(321, 100, 54, 15);
		contentPane.add(label_2);
		
		JLabel label_3 = new JLabel("数量:");
		label_3.setBounds(35, 143, 54, 15);
		contentPane.add(label_3);
		
		number = new JTextField();
		number.setBounds(99, 140, 212, 21);
		contentPane.add(number);
		number.setColumns(10);
		
		JLabel label_4 = new JLabel("简介:");
		label_4.setBounds(35, 188, 54, 15);
		contentPane.add(label_4);
		
		message = new JTextArea();
		message.setBounds(99, 184, 269, 103);
		contentPane.add(message);
		
		
		
		//这里设置修改页面的数据
		Goods g=IFactory.selectAGoods(id);
		goodname.setText(g.getName());
		price.setText(g.getPeice().toString());
		number.setText(g.getNumber().toString());
		message.setText(g.getMessage().toString());
		
		
		
		JButton button = new JButton("确定修改");
		button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				//捕获输入类型不匹配异常
				try{
						//修改商品
						Goods good=new Goods(goodname.getText(),Double.parseDouble(price.getText()),Integer.parseInt(number.getText()));
						good.setGoodsId(id);
						good.setMessage(message.getText());
						//判断是否确定修改
						int a=JOptionPane.showConfirmDialog(null, "确定修改吗", "",JOptionPane.YES_NO_OPTION);
						if(a==JOptionPane.YES_OPTION)
						{	
							//执行修改
							boolean flag=IFactory.alertGoods(good);
							//判断修改是否成功
							if(flag)
							{
								setVisible(false);
								store.dispose();
								AdminStore st=new AdminStore();
								st.setAdminlogin(adminlogin);
								
								st.setVisible(true);
							}else{
								JOptionPane.showConfirmDialog(null, "修改失败", "",JOptionPane.WARNING_MESSAGE);
							}
							
							
						}
					}catch(Exception e4){
						JOptionPane.showConfirmDialog(null, "请输入数字", "",JOptionPane.YES_NO_OPTION);
					}
					
			}
		});
		button.setBounds(275, 310, 93, 23);
		contentPane.add(button);
		
		JLabel label_5 = new JLabel(">=0");
		label_5.setBounds(321, 143, 43, 15);
		contentPane.add(label_5);
	
		
		this.addWindowListener(new WindowAdapter() {
			@Override
			public void windowClosing(WindowEvent e) {
				// TODO Auto-generated method stub
				((AdminUpdate)e.getSource()).setVisible(false);
			}
		});
	}








	public JFrame getAdminlogin() {
		return adminlogin;
	}








	public void setAdminlogin(JFrame adminlogin) {
		this.adminlogin = adminlogin;
	}








	public DefaultTableModel getModel() {
		return model;
	}




	public JTable getTable() {
		return table;
	}




	public void setTable(JTable table) {
		this.table = table;
	}




	public void setModel(DefaultTableModel model) {
		this.model = model;
	}




	public JFrame getStore() {
		return store;
	}




	public void setStore(JFrame store) {
		this.store = store;
	}
}
